Field of the Invention
This invention relates generally to the field of computer science in relation to the exploration for hydrocarbons. More specifically, the invention relates to a method of implementing finite difference time domain modeling with multiple APCs.
Background of the Invention
Finite difference time domain (FDTD) modeling is an important tool for oil and gas exploration. Graphic Processing Units (GPU) implementations of FDTD kernels provide the highest cost efficiency and are becoming the de facto industry standard. At present, GPUs, with respect to floating point operations, are many times faster than CPU processors. Specifically, modern day GPUs are very efficient at manipulating computer graphics, and their highly parallel structure makes them more effective than general-purpose CPUs for algorithms where processing of large blocks of data in parallel is required. Although GPUs and other compute accelerators have very high computational throughput, they lack the memory capacity required to handle the large volume of data in most oil and gas problems. A common work around is domain decomposition, a method that splits the computational domain or data volume into smaller pieces and assigns each piece to a separate compute accelerator. The limiting factor for the size of problem that can be handled then becomes the aggregate memory of all the compute accelerators attached to the system instead of the memory available to any single compute accelerator. In contrast, the CPU system memory is significantly larger and can readily be increased to accommodate even the largest models and most complex kernels in development today, but transferring data between system memory and compute accelerator memory is slow.
Consequently, there is a need for methods and systems to optimize usage of GPUs in FDTD methods.